# _*_ coding: UTF-8 _*_
# @Time     : 2021/10/20 下午 03:05
# @Author   : Li Jie
# @Site     : http://www.hzdledu.cn/
# @File     : c3s3_变量.py
# @Software : PyCharm

# 什么是变量
# 1.实质是指向数据的内存地址；2.简单理解为存放数据的容器，比如杯子或柜子

# 变量的定义
a = 10

# 不要用内置函数或模块做变量名
# print = 5
# print(5)

# 变量数据类型可变
a = 10
print(type(a))
a = 'aaaa'
print(type(a))  # type()可以获取对象的数据类型

# 对变量重新赋值，是改变变量指向的内存地址
a = 10
print(id(a))
a = 100
print(id(a))

# 将变量赋值给变量，是将内存地址给另一个变量
a = 10
b = a
print(id(a))
print(id(b))

print('---------------我是分隔符-----------------')
# 数据类型
# 1.int整数 2.float浮点数 3.bool布尔值 4.字符串'' "" `````` """""""
a = 10
print(type(a))

b = 1.0
print(type(b))

c = True
print(type(c))

d = '汇智动力'
print(type(d))

# str1 = "He said:"hello!""#字符串的符号就近配对
str1 = 'He said:"hello!"'

# 转义字符
print('\\')
print('\'')
print('\"')
print('\n')
print('\t')
print(r'c:\temp')  # r禁止字符串转义

print('---------------我是分隔符-----------------')
# 数据类型转换
# int()：针对字符串，不能转换含有非数字字符的字符串
a = 1.1
b = True
c = '1111'
d = 'abcd'
print(int(a))  # 1
print(int(b))  # 1
print(int(c))  # 1111
# print(int(d)) #报错

# float()
# float()：针对字符串，不能转换含有非数字字符的字符串
a = 1
b = True
c = '1111'
d = 'abcd'
print(float(a))  # 1.0
print(float(b))  # 1.0
print(float(c))  # 1111.0
# print(float(d)) #报错

# bool()：非零非空都是True
a = 0
b = 1.1
c = 'abcd'
d = ''

print(bool(a))  # False
print(bool(b))  # True
print(bool(c))  # True
print(bool(d))  # False

# str()
a = 0
b = 1.1
c = True
print(str(a))  # '0'
print(str(b))  # '1.1'
print(str(c))  # 'True'

print('---------------我是分隔符-----------------')
# 格式化字符串
# 1.占位符格式化字符串
name = '吴京'
age = 43
print('我的名字是：%s，我的年龄是：%d岁' % (name, age))
# 指定宽度
print('我的名字是：%s，我的年龄是：%10d岁' % (name, age))
# 指定宽度，高位补零
print('我的名字是：%s，我的年龄是：%010d岁' % (name, age))
pi = 3.14158265
# 指定小数位数
print('π的值是：%10f' % (pi))
print('π的值是：%10.8f' % (pi))  # 小数点要占一位
# 左对齐
print('π的值是：%-10f' % (pi))

# 2.f''格式化字符串
print('---------------我是分隔符-----------------')
name = '吴京'
age = 43
print(f'我的名字是：{name}，我的年龄是:{age}岁')
# 指定宽度
print(f'我的名字是：{name}，我的年龄是:{age:10}岁')
#指定小数位数
pi = 3.14158265
print(f'π的值是：{pi:10.8f}')
#补零
print(f'π的值是：{pi:010f}')
#左对齐
print(f'π的值是：{pi:<010f}')